package 牛客.二分查找_排序;

public class BM21旋转数组的最小数字 {
    public int minNumberInRotateArray(int [] array) {
        //不使用内置函数 sort()
        //二分法
        int left=0;
        int right=array.length-1;

        while (left<right) {
            int mid=(right-left)/2+left;
            if (array[mid] < array[right]) {
                //旋转点在mid或mid之前
                right=mid;
            }else if (array[mid]>array[right]) {
                //旋转点在mid之后
                left=mid+1;
            }else {
                //mid和right它们两个的值以及它们中间的值都相等；
                right--;
            }
        }
        return left;

    }
}
